在整理學校資訊時,試算表是非常容易入手的工具。然而,將所有資料——例如學生、課程、教師和選課紀錄——全部塞進一張龐大而過載的工作表中,會導致資料不斷重複,系統也隨之崩潰。當一名學生修讀多門課程時,他的個人資料必須一再重複填寫,造成雜亂的冗餘資料和嚴重的維護困難。
資料庫設計的核心概念
- 資料重複:當一門課程包含許多學生時,課程與教師的詳細資料會在許多列中重複出現,浪費空間並容易引發錯誤。
- 更新異常:如果 Sam 更改了電話號碼,而我們只在一處更新,試算表就會充斥著互相矛盾的資訊。
- 需求分析:要建立可靠的設計,首先要察覺這些問題,並辨識出實體、屬性和關聯。
為什麼我們需要結構化
設計良好的資料庫可以防止錯誤——例如同一組「學生—課程」配對被誤重複出現。透過將不同概念分門別類地放入結構完善的資料表中,每一列都代表單一且一致的物件類別,確保系統運作的可靠性。
設計原則
每一項設計決策都必須能直接追溯到明確陳述的需求,而非依賴想當然耳的慣例,這樣才能確保架構精確地模擬真實世界。
